#pragma once

#include "exports.hpp"
#include "RDBMS.hpp"




namespace db
{
	class DB_SCHEMA_API SqliteRDBMS
		: public RDBMS
	{
	private:

	public:

		SqliteRDBMS();
		virtual ~SqliteRDBMS();

		/**
		 * @returns string representing the data type of the given attribute
		 */
		virtual QString dataTypeString(TableAttribute::const_Ptr attribute) const;

		/**
		 * @returns sql statement to add the given attribute to the given table
		 */
		virtual QString addAttributeString(Table::const_Ptr table, TableAttribute::const_Ptr attribute) const;

		/**
		 * @returns sql statement to drop the given attribute from the given table.
		 */
		virtual QString dropAttributeString(Table::const_Ptr table, TableAttribute::const_Ptr attribute) const;
	};
	///////////////////////////////////////////////////////////////////////////////////////////////
}
///////////////////////////////////////////////////////////////////////////////////////////////////
